package cn.stronglink.asset.module.assetmanage.cabinet.mapper;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.plugins.pagination.Pagination;
import cn.stronglink.asset.model.AssetModel;
import cn.stronglink.asset.model.AssetType;
import cn.stronglink.asset.model.CabinetExt;
import cn.stronglink.asset.model.ItAsset;
import cn.stronglink.asset.model.ItAssetExtPosition;
import cn.stronglink.asset.module.assetmanage.cabinet.vo.CabinetExtVo;

public interface CabinetExtMapper {

	public List<CabinetExtVo> qryCabinetList(@Param("params") Map<String, Object> params);

	public List<CabinetExtVo> qryList(Pagination page,@Param("params")Map<String, Object> params);

	public void updateCabinetExt(CabinetExtVo cabinetExt);

	public List<CabinetExtVo> qryById(@Param("id")Long id);

	public void updateAsset(CabinetExt cabinetExt);

	public void updateAssetExtPos(CabinetExt cabinetExt);

	public void remove(@Param("assetId")Long assetId);

	public void createCabinet(ItAsset itAsset);

	public void createCabinetExt(CabinetExtVo cabinetExt);

	public void createCabinetExtPosition(ItAssetExtPosition itAssetExtPosition);

	public List<CabinetExtVo> qryCabinetListOfGroup(@Param("params") Map<String, Object> params);

	public List<CabinetExtVo> qryCabinetListByGroupId(@Param("rackId") Long rackId );

	public List<AssetType> qryRackTypeList();

	public List<AssetModel> qryRackModelList(@Param("params") Map<String, Object> params);

	public Integer queryCabinetAssetNum(@Param("rackId")Long rackId);

	public List<CabinetExt> qryCabinetExtList(@Param("params")Map<String, Object> params);
	
	public Long getCabinetExtIdByAssetId(@Param("assetId") Long assetId);
	public void updateCabinetExtHeatBeat(List<CabinetExt> cabinetExt);
	public void insertCabinetExtByDam(List<CabinetExt> cabinetExt);
	public Integer getDoorStatus(@Param("rackId")Long rackId);

	public List<HashMap<String, Object>> searchTemperature(Pagination page,
			@Param("params") Map<String, Object> params);

}
